Skip to content

feat(mdm): add support for new ide & pluggins#22

Closed
shubham-stepsecurity wants to merge 2 commits intostep-security:mainfrom
shubham-stepsecurity:sm/feat/ide
Closed

feat(mdm): add support for new ide & pluggins#22
shubham-stepsecurity wants to merge 2 commits intostep-security:mainfrom
shubham-stepsecurity:sm/feat/ide

Conversation

@shubham-stepsecurity
Copy link
Copy Markdown
Member

What does this PR do?

Type of change

  • Bug fix
  • Enhancement
  • Documentation

Testing

  • Tested on macOS (version: ___)
  • Binary runs without errors: ./stepsecurity-dev-machine-guard --verbose
  • JSON output is valid: ./stepsecurity-dev-machine-guard --json | python3 -m json.tool
  • No secrets or credentials included
  • Lint passes: make lint
  • Tests pass: make test

Related Issues

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds broader IDE/plugin detection (JetBrains, Xcode, Eclipse) and enriches extension output with a source attribute so results can distinguish bundled vs user-installed items.

Changes:

  • Add detection for JetBrains IDE installations plus JetBrains/Android Studio plugins, Xcode Source Editor extensions (via pluginkit), and Eclipse features/plugins.
  • Add Extension.Source (bundled / user_installed) and update pretty output to tag bundled extensions.
  • Expand IDE display-name mapping to include newly supported IDE types.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
internal/telemetry/telemetry.go Extends ideDisplayName mapping for new IDE types in telemetry logs.
internal/output/pretty.go Uses centralized ideDisplayName + displays [bundled] marker for extensions.
internal/model/model.go Adds Extension.Source JSON field (omitempty).
internal/executor/mock.go Adds MockDirEntry helper to support os.DirEntry-based tests.
internal/detector/xcode_extensions.go New detector to parse pluginkit output for Xcode Source Editor extensions.
internal/detector/xcode_extensions_test.go Unit tests for parsePluginkitLine.
internal/detector/jetbrains_plugins.go New detector for JetBrains/Android Studio plugins (including bundled vs user-installed tagging).
internal/detector/jetbrains_plugins_test.go Tests for JetBrains/Android Studio plugin scanning and XML parsing.
internal/detector/eclipse_plugins.go New detector for Eclipse feature/plugin entries and bundled-vs-user tagging.
internal/detector/extension.go Adds new extension sources (Cursor/Windsurf/Antigravity) and wires in JetBrains/Xcode/Eclipse detection.
internal/detector/ide.go Adds JetBrains IDE + Android Studio + Eclipse + Xcode to IDE installation detection list.
internal/detector/ide_test.go Adds test coverage for JetBrains IDE installation detection.
examples/sample-output.json Updates example output to include GoLand and adjusts summary count.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread internal/detector/eclipse_plugins.go
Comment thread internal/detector/xcode_extensions.go
Comment thread internal/detector/xcode_extensions.go
Comment thread internal/executor/mock.go
Comment thread internal/detector/extension.go
Comment thread internal/detector/jetbrains_plugins.go
Comment thread examples/sample-output.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants